package com.bawei.module_main.ui

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import com.alibaba.android.arouter.launcher.ARouter
import com.bawei.library_base.BaseApplication
import com.bawei.library_common.arouter.ARouterActivityPath
import com.bawei.library_common.mvvm.BaseActivity
import com.bawei.module_main.R
import com.bawei.module_main.databinding.MainActivitySplashBinding
import com.blankj.utilcode.util.SPUtils
import com.blankj.utilcode.util.ToastUtils

/**
 * 1.冷启动优化
 * 2.SplashActivity:闪屏页面
 * 3。第一次打开项目，闪屏页面3秒进入广告引导页 下次打开不显示广告页，直接进入主页面
 *
 * 4。handler内存泄漏优化：
 * （1）静态内部类+弱引用activity
 * （2）handler.removeCallbacksAndMessages(null)：handler的任务全部死
 *
 */
class SplashActivity : BaseActivity<MainActivitySplashBinding>() {
    private val handler = Handler()


    override fun onDestroy() {
        super.onDestroy()
        //清空Handler中未执行或正在执行的Callback以及Message,避免内存泄漏问题
        handler.removeCallbacksAndMessages(null)
    }

    override fun getLayout(): Int {
       return R.layout.main_activity_splash
    }

    override fun initData() {
        handler.postDelayed({
            //打开过：主页面
            if(SPUtils.getInstance().getBoolean("go",false)){
                ARouter.getInstance().build(ARouterActivityPath.PAGER_MAIN).navigation()
            }else{//没打开过引导页：引导页
                ARouter.getInstance().build(ARouterActivityPath.PAGER_GUIDE).navigation()

            }
        },3000)
        //测试获得当前进程的名字
        var name = BaseApplication.instance.getCurrentProcessName(this)
        ToastUtils.showShort(name)
    }

    override fun initListener() {

    }
}